using System;
using Volo.Abp.Application.Dtos;

namespace ThridGroup.ERP.Application.Contracts.DTO
{
    /// <summary>
    /// 生产报工DTO
    /// </summary>
    public class ProductionReportingDto : EntityDto<int>
    {
        /// <summary>
        /// 报工类型
        /// </summary>
        public string ReportingType { get; set; }

        /// <summary>
        /// 生产工单编号
        /// </summary>
        public string ProductionWorkOrderCode { get; set; }

        /// <summary>
        /// 产品物料编码
        /// </summary>
        public string ProductMaterialCode { get; set; }

        /// <summary>
        /// 产品物料名称
        /// </summary>
        public string ProductMaterialName { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        public string ProductModel { get; set; }

        /// <summary>
        /// 报工数量
        /// </summary>
        public int ReportingQuantity { get; set; }

        /// <summary>
        /// 报工人
        /// </summary>
        public string Reporter { get; set; }

        /// <summary>
        /// 报工时间
        /// </summary>
        public DateTime ReportingTime { get; set; }

        /// <summary>
        /// 批准人
        /// </summary>
        public string Approver { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 记录人
        /// </summary>
        public string Recorder { get; set; }

        /// <summary>
        /// 记录创建时间
        /// </summary>
        public DateTime RecordCreateTime { get; set; }

        /// <summary>
        /// 记录更新时间
        /// </summary>
        public DateTime RecordUpdateTime { get; set; }
    }

    /// <summary>
    /// 创建/更新生产报工DTO
    /// </summary>
    public class CreateUpdateProductionReportingDto
    {
        /// <summary>
        /// 报工类型
        /// </summary>
        public string ReportingType { get; set; }

        /// <summary>
        /// 生产工单编号
        /// </summary>
        public string ProductionWorkOrderCode { get; set; }

        /// <summary>
        /// 产品物料编码
        /// </summary>
        public string ProductMaterialCode { get; set; }

        /// <summary>
        /// 产品物料名称
        /// </summary>
        public string ProductMaterialName { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        public string ProductModel { get; set; }

        /// <summary>
        /// 报工数量
        /// </summary>
        public int ReportingQuantity { get; set; }

        /// <summary>
        /// 报工人
        /// </summary>
        public string Reporter { get; set; }

        /// <summary>
        /// 报工时间
        /// </summary>
        public DateTime ReportingTime { get; set; }

        /// <summary>
        /// 批准人
        /// </summary>
        public string Approver { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 记录人
        /// </summary>
        public string Recorder { get; set; }
    }
} 